<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>ES6 【箭头  =>】定义函数</title>
</head>
<body>
	<div>
		1. this 是静态的。 this 始终指向函数声明时所在作用域下的 this 的值。<br />
		2. 不能作为构造实例化对象。<br />
		3. 不能使用 arguments 变量。<br />
		4. 箭头函数简写<br />
		&nbsp;&nbsp;1) 省略小括号，当形参有且只有一个。<br />
		&nbsp;&nbsp;2) 省略花括号，当代码体只有一条语句的时候，此时 return 必须省略，<br />
		&nbsp;&nbsp;而且语句的执行结果就是函数的返回值。<br />
		5. 箭头函数适合于 this 无关的回调，定时器，数组等方法回调
		6. 箭头函数不适合于 this 有关的回调，事件回调，对象的方法
	</div>
	<script>
		// 原
		let fn1 = function() {
			return arguments;
		}
		// 神奇的变量 arguments
		let res = fn1(1,2,3);
		console.log(res);


		let fn2 = (a,b) => {
			return a+b;
		}
		// ES6，多参数情况
		let result = fn2(1,2);
		console.log(result);

		// ES6 省略小括号
		let fn3 = n => {
			return n+n;
		}
		console.log(fn3(3))

		// ES6 省略大括号，且函数体只有1种情况
		let fn4 = n => n*n;
		console.log(fn4(9));
	</script>
</body>
</html>